In certain data processing applications, many large strings of data are frequently transmitted between various signal producing and data processing apparatus. In order to permit all of the bits of the data strings to be transmitted, the corresponding data processing technique has heretofore been characterized by increased throughout delay and relatively complex and expensive processing hardware. However, and in order to avoid the aforementioned characterizations, it has sometimes been common to process only a representative portion or chunk of each different data string. Such a chunk of data is typically selected from a data string in an arbitrary fashion, and the least significant bits thereof are, consequently, often disregarded. Accordingly, while the performance of the processing hardware may be enhanced, the accuracy and precision of the information content is undesirably reduced.
By way of particular example, in a computer-generated imagery or graphics system, a plurality of multiple (e.g. approximately 32 or more) bit data strings are commonly assembled and correlated to describe an object to be displayed in three-dimensional space. By arbitrarily selecting and processing a chunk of data from each data string, the accuracy in displaying an object on a video display is undesirably reduced relative to a description of the object in an original data base, especially if the object is to be displayed while moving away from a paint of origin. Moreover, such arbitrary selection of data chunks increases the likelihood of wraparound (i.e. overflow) when the plurality of data strings are multiplied and summed together. Such wraparound may cause an image to move off one end of a display screen and then appear at the other end thereof.
The present invention relates to an apparatus and efficient method for normalizing a plurality of approximately 35 bit data strings so as to reduce the size and enhance the accuracy of the information content thereof. That is, in a computer graphics system, different pairs of matrices (indicative of the desired location of an object and the movement of such object through space) are multiplied together in order that a three dimensional image can be displayed on a video screen. The resultant fields of each multiplication operation are multiple bit data strings. The data strings are normalized relative to one another so that an accurate representation of the object moving through space can be displayed with increased speed and efficiency and less complex processing and storage hardware than that usually required by computer graphics systems of the prior art. More particularly, the normalized outputs of a matrix multiplier are scaled or shifted a like number of bit positions, so as to provide data words of both reduced size and maximized precision.
Reference may be made to one or more of the following U.S. Patents which generally discloses a floating point normalization and processing system, wherein certain groupings of binary bits are deleted to speed up a multiplication process: Nos.
3,192,363 PA1 4,173,789 PA1 4,276,607 PA1 3,763,365 PA1 4,283,765
Additional reference may be made to one or more of the following U.S. Patents which generally discloses a matrix multiplication operation within a computer graphics system: Nos.
However, none of the aforementioned patents discloses or suggests a method and apparatus of optimizing the precision and information content of a plurality of data strings (e.g. the resultant product of a matrix multiplication operation) by selectively normalizing the data strings relative to one another, so as to accurately and efficiently display an object in three dimensional space according to predetermined coordinate requirements.